The embodiments of the present invention relate to electronic forms. Electronic forms attempt to provide a reusable model through which users can be asked information and provide responses. Some electronic forms have intelligence built into the form as opposed to their static, paper-based counterparts.
XForms, the World Wide Web Consortium (W3C) standard for electronic forms, defines an Extensible Markup Language (XML) format for the abstract specification of forms for the Web. An XForms model includes a definition of an abstract user interface, one or more data models and in-form validation and business logic. XForms models are intended to be hosted within a presentation language such as, for example, HyperText Markup Language (HTML) or Extensible HyperText Markup Language (XHTML), Extensible Forms Description Language (XFDL), or Wireless Markup Language (WML). Depending upon the host language, implementations of the XForms model may be rendered on, and accessed using a range of systems including, but not limited to, personal computers, laptops, and pervasive devices such as personal digital assistants or mobile phones. Form controls are typically organized into pages and visually presented to end users.
An XForms-based electronic form document may include more advanced features, such as validating received data against XML schema data types, requiring certain data in certain user interface form fields, disabling input controls, changing sections of the form depending on circumstances, and responding to actions in real time rather than at submission time. Thus, XForms functionality may reduce or even eliminate the need for the application to provide user interface handler scripts for managing the user interface appropriately for an application. Further information about XForms can be found within the XForms Specification entitled “XForms 1.0 Third Edition,” as published by The World Wide Web Consortium (W3C).
Typically, a user is notified via electronic mail, or some other means, that an XForm is available for that user to complete. The user retrieves the XForm from a server, or other location, and loads the XForm. XForms functionality is usually implemented as an XForms processor installed on the user's computer, e.g., within a client computer. For example, an XForms plug-in executable may be installed to execute within a Web browser on the user's computer.